package com.ruoyi.lvlian.mapper;

import java.util.List;

import com.ruoyi.lvlian.domain.BusinessLicenseInfo;
import com.ruoyi.lvlian.domain.BusinessLicenseInfoLabel;
import com.ruoyi.lvlian.domain.SysOrganizationDomain;
import com.ruoyi.lvlian.dto.BusinessLicenseInfoDto;
import com.ruoyi.lvlian.vo.IdCardInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 主体基本信息Mapper接口
 *
 * @author lvlian
 * @date 2024-07-24
 */
public interface BusinessLicenseInfoMapper {
    /**
     * 查询主体基本信息
     *
     * @param id 主体基本信息主键
     * @return 主体基本信息
     */
    public BusinessLicenseInfo selectBusinessLicenseInfoById(String id);

    /**
     * 查询主体基本信息列表
     *
     * @param businessLicenseInfo 主体基本信息
     * @return 主体基本信息集合
     */
    public List<BusinessLicenseInfo> selectBusinessLicenseInfoList(BusinessLicenseInfoDto businessLicenseInfo);

    /**
     * 新增主体基本信息
     *
     * @param businessLicenseInfo 主体基本信息
     * @return 结果
     */
    public int insertBusinessLicenseInfo(BusinessLicenseInfo businessLicenseInfo);

    /**
     * 修改主体基本信息
     *
     * @param businessLicenseInfo 主体基本信息
     * @return 结果
     */
    public int updateLvBusinessLicenseInfo(BusinessLicenseInfo businessLicenseInfo);

    /**
     * 删除主体基本信息
     *
     * @param id 主体基本信息主键
     * @return 结果
     */
    public int deleteBusinessLicenseInfoById(String id);

    /**
     * 批量删除主体基本信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusinessLicenseInfoByIds(String[] ids);

    int batchSave(@Param("dtoList") List<BusinessLicenseInfo> dtoList);

    List<BusinessLicenseInfoLabel> queryAccountList(BusinessLicenseInfoDto businessLicenseInfo);



    public int insertSysOrganizationDomain(SysOrganizationDomain sysOrganizationDomain);

    void batchDelete( @Param("ids")  String[] ids );

    BusinessLicenseInfo  selectBusinessLicenseInfoByName(@Param("name") String name);

    BusinessLicenseInfo selectBusinessLicenseInfoByOrgCode(@Param("orgCode") String orgCode);


    public int insertIdCardInfo(IdCardInfo idCardInfo);

    public int updateIdCardInfo(IdCardInfo idCardInfo);
    boolean findCardInfoExist(@Param("idCard") String idCard);
}
